package com.easico.activity;

import androidx.appcompat.app.AppCompatActivity;

import android.app.Application;
import android.content.Context;
import android.content.Intent;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.text.TextUtils;
import android.view.View;
import android.widget.Button;
import android.widget.CheckBox;
import android.widget.EditText;
import android.widget.Toast;

import com.xuexiang.xui.XUI;
import com.xuexiang.xui.widget.button.ButtonView;
import com.xuexiang.xui.widget.dialog.LoadingDialog;

/**
 * 引入XUI
 */
//public class LoginActivity extends AppCompatActivity {
public class LoginActivity extends AppCompatActivity {

//    private LoginViewModel loginViewModel;
    private static final String LOCAL_FILE_NAME = "share_data";
    long recv_file = 0;

    LoadingDialog loadingDialog;
    private EditText etUsername;
    private EditText etPassword;
    private ButtonView btnLogin;

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        XUI.initTheme(this);
        XUI.init(getApplication());     // 初始化UI框架
        XUI.debug(true);        // 开启UI框架调试日志

        setContentView(R.layout.activity_login);
//        loginViewModel = ViewModelProviders.of(this, new LoginViewModelFactory()).get(LoginViewModel.class);
//        startClick(null);


    // 初始化视图
    etUsername = findViewById(R.id.usernameEditText);
    etPassword = findViewById(R.id.passwordEditText);
    btnLogin = findViewById(R.id.login);

    // 获取信息
    SharedPreferences sp = getSharedPreferences(LOCAL_FILE_NAME,  Context.MODE_PRIVATE);
    String defUserName = sp.getString("name","");
    String lastUserName = sp.getString("lastUserName","");
    String defPwd = sp.getString("pwd","");
    String localToken = sp.getString("token","").trim();

        etUsername.setText(defUserName);
        etPassword.setText(defPwd);

    // 记住密码
//        final CheckBox checkBox = findViewById(R.id.remember_acc);
//        int checkState = sp.getInt("checkState",0);
//        if(checkState == 1){
//            checkBox.setChecked(true);
//        }else{
//            checkBox.setChecked(false);
//        }


        // 设置登录按钮点击事件
        btnLogin.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                String username = etUsername.getText().toString().trim();
                String password = etPassword.getText().toString().trim();
                // 验证输入
                if (username.isEmpty() || password.isEmpty()) {
                    Toast.makeText(LoginActivity.this, "用户名或密码不能为空", Toast.LENGTH_SHORT).show();
                    return;
                }
                // TODO: 在这里添加登录逻辑
                // 例如调用登录API或验证用户信息
                performLogin(username, password);
            }
        });

    // 设置登录按钮点击事件
//        btnLogin.setOnClickListener(new View.OnClickListener() {
//        @Override
//        public void onClick(View v) {
//            String username = etUsername.getText().toString().trim();
//            String password = etPassword.getText().toString().trim();
//
//            // 验证输入
//            if (TextUtils.isEmpty(username)) {
//                etUsername.setError("请输入用户名");
//                return;
//            }
//            if (TextUtils.isEmpty(password)) {
//                etPassword.setError("请输入密码");
//                return;
//            }
//
//            // 执行登录
//            performLogin(username, password);
//        }
//    });
}

    private void performLogin(String username, String password) {
        // TODO: 实现实际的登录逻辑
        // 这里示例使用简单的判断，实际应用中应该调用后端API
        if ("1".equals(username) && "1".equals(password)) {
            // 登录成功
            Toast.makeText(this, "登录成功", Toast.LENGTH_SHORT).show();

            // 跳转到主页
            Intent intent = new Intent(LoginActivity.this, HomeActivity.class);
            startActivity(intent);
            // 结束登录页，防止返回
            finish();
        } else {
            // 登录失败
            Toast.makeText(this, "用户名或密码错误", Toast.LENGTH_SHORT).show();
        }
    }
}